package com.zhengqing.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhengqing.system.entity.ManualBrand;
import com.zhengqing.system.entity.ManualModelOm;
import com.zhengqing.system.model.dto.ManualCatalogToMailDto;
import com.zhengqing.system.model.dto.ManualModelSearchDto;
import com.zhengqing.system.model.vo.ManualModelSearchDetailVo;
import com.zhengqing.system.model.vo.ManualModelSearchVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface IManualModelOmService extends IService<ManualModelOm> {

    /**
     * 查询图纸型号
     * @param param
     * @return
     */
    IPage<ManualModelSearchVo> searchModel(ManualModelSearchDto param);

    /**
     * 处理model名称翻译
     */
    void doTransManualModelOm();

    /**
     * 下载图纸数据到本地文件夹
     */
    void downloadManualPdfs();

    /**
     * 上传图纸到minio
     */
    void uploadManualPdfToMinio();

    /**
     * 生成pdf缩略图并上传minio
     */
    void createThumbnailToMinio();

    /**
     * h5查询列表
     * @param param
     * @return
     */
    List<ManualModelSearchVo> mpSearchModel(ManualModelSearchDto param,HttpServletRequest request);


    /**
     * H5列表详情
     * @param id
     * @return
     */
    ManualModelSearchDetailVo mpSearchModelDetail(String id,HttpServletRequest request);

    /**
     * 发送附件到邮箱
     * @param toMailDto
     * @return
     */
    Boolean mpGetCatalogToEmail(ManualCatalogToMailDto toMailDto, HttpServletRequest request);

    /**
     * 异步处理
     * @param toMailDto
     */
    void mpGetCatalogToEmailConsumer(ManualCatalogToMailDto toMailDto);

    /**
     * 获取所有品牌
     * @return
     */
    List<ManualBrand> getAllBrand(HttpServletRequest request);
}
